Skip to content

[release/9.0] Caching SERedis critical bugfix; defer HC metadata detection because of DI cycle #60916

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 9, 2025

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Mar 13, 2025

Backport of #60915 to release/9.0

/cc @mgravell

Caching SERedis critical bugfix; defer HC metadata detection because of DI cycle

Fix DI loop in metadata discovery - interaction between two components

Description

Unfortunately because the two components are in different repos, a fake was used to "prove" the setup here; this fake did not fully reproduce the DI demands, hance a cyclic interaction was not discovered. The test has been updated to reflect the real DI setup, and the code reworked.

Fixes #60894

Customer Impact

Attempts to use AddHybridCache() and AddStackExchangeRedis() together can cause DI to loop infinitely or until stack-overflow.

Regression?

  • Yes - from 9.0.2
  • No

Risk

  • High
  • Medium
  • Low

Change is simple DI restructure only; no complex logic post construction, which is validated in tests.

Verification

  • Manual (required)
  • Automated

Packaging changes reviewed?

  • Yes
  • No
  • N/A

When servicing release/2.1

  • Make necessary changes in eng/PatchConfig.props

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions label Mar 13, 2025
@dotnet-policy-service dotnet-policy-service bot added this to the 9.0.x milestone Mar 13, 2025
@mgravell mgravell added Servicing-consider Shiproom approval is required for the issue feature-caching Includes: StackExchangeRedis and SqlServer distributed caches labels Mar 13, 2025
@dotnet-policy-service dotnet-policy-service bot added the pending-ci-rerun When assigned to a PR indicates that the CI checks should be rerun label Mar 20, 2025
@mgravell
Copy link
Member

mgravell commented Apr 7, 2025

(CI fail is unrelated but vexing)

@danmoseley danmoseley added Servicing-approved Shiproom has approved the issue and removed Servicing-consider Shiproom approval is required for the issue labels Apr 8, 2025
@wtgodbe
Copy link
Member

wtgodbe commented Apr 8, 2025

/azp run

Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@wtgodbe
Copy link
Member

wtgodbe commented Apr 8, 2025

Mac failures are an issue w/ the dotnetbuilds CDN - I think #60353 will unblock

@wtgodbe
Copy link
Member

wtgodbe commented Apr 9, 2025

/azp run

Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@wtgodbe wtgodbe merged commit 15ecdb2 into release/9.0 Apr 9, 2025
25 checks passed
@wtgodbe wtgodbe deleted the backport/pr-60915-to-release/9.0 branch April 9, 2025 16:58
@dotnet-policy-service dotnet-policy-service bot modified the milestones: 9.0.x, 9.0.5 Apr 9, 2025
@mgravell
Copy link
Member

mgravell commented Apr 9, 2025

(nods with thanks towards @wtgodbe)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions feature-caching Includes: StackExchangeRedis and SqlServer distributed caches pending-ci-rerun When assigned to a PR indicates that the CI checks should be rerun Servicing-approved Shiproom has approved the issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants